//
// Created by Administrator on 2017/9/30 0030.
//

#ifndef NDKMASTER_WHITE_HEAD_H
#define NDKMASTER_WHITE_HEAD_H

// 获取数组的大小
#include <stdint.h>
#include "base.h"

jstring raw_md5(JNIEnv *,jobject, jstring);

jstring raw_sha1(JNIEnv *,jobject, jstring);

jstring raw_aesEcbEncrypt(JNIEnv *,jobject,const uint8_t *key, jstring);
jstring raw_aesEcbEncrypt2(JNIEnv *,jobject,jstring key, jstring str_);

jstring raw_aesEcbDecrypt(JNIEnv *,jobject,const uint8_t *key, jstring);
jstring raw_aesEcbDecrypt2(JNIEnv *,jobject,jstring key, jstring str_);

jstring raw_aesCbcEncrypt(JNIEnv *,jobject,jstring iv, jstring key, jstring str_);
jstring raw_aesCbcDecrypt(JNIEnv *,jobject,jstring iv, jstring key, jstring str_);

char* String2ByteArr(JNIEnv *, jobject, jstring);

jint WriteStringToFile(JNIEnv *, jobject, jstring, jstring);

jstring ReadStringFromFile(JNIEnv *, jobject, jstring);

/***
 * 获取app包名
 * @param env
 * @param thiz
 * @param context
 * @return
 */
jstring GetPackageName(JNIEnv *env, jobject thiz, jobject context);

/***
 * 获取纯粹的签名
 * @return
 */
jstring raw_getSign(JNIEnv *,jobject, jobject);

/***
 * 获取app签名
 * @param env
 * @param thiz
 * @param context
 * @return
 */
jstring GetSignature(JNIEnv *env, jobject thiz, jobject context);

/***
 * char转jstring，调java的string构造方法实现
 * @param envPtr
 * @param src
 * @return
 */
jstring charToString(JNIEnv *envPtr, char *src);

jstring getDeviceUnique(JNIEnv *env, jobject thiz, jobject context);

jint __delete_dir(JNIEnv *env, jobject jclazz, jstring path);

jstring __encode_base64(JNIEnv *env, jobject jclazz, jstring path);

jstring __decode_base64(JNIEnv *env, jobject jclazz, jstring path);

#endif //NDKMASTER_WHITE_HEAD_H
